System and method for television control using hand gestures

ABSTRACT

Systems and method which allow for control of televisions and other media device are disclosed. A television set is provided with a gesture capture device configured to receive a gesture input directed to at least one of a plurality of predefined areas related to the television set. The television set further includes a user interaction interface configured to generate data indicative of the gesture input directed toward the at least one of the predefined areas and control the television based at least in part on the generated data.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This application relates to controlling televisions and other mediadevices using gestures.

2. Description of Related Technology

Initially, televisions were controlled using predefined function buttonslocated on the television itself. Wireless remote controls were thendeveloped to allow users to access functionality of the televisionwithout needing to be within physical reach of the television. However,as televisions have become more feature-rich, the number of buttons onremote controls has increased correspondingly. As a result, users havebeen required to remember, search, and use a large number of buttons inorder to access the full functionality of the device. More recently, theuse of hand gestures has been proposed to control virtual cursors andwidgets in computer displays. These approaches suffer from problems ofuser unfriendliness and computational overhead requirements.

SUMMARY OF CERTAIN INVENTIVE ASPECTS

The system, method, and devices of the present invention each haveseveral aspects, no single one of which is solely responsible for itsdesirable attributes. Without limiting the scope of this invention,several of its features will now be discussed briefly.

In a first aspect, a television set is provided which includes a agesture capture device configured to receive a gesture input directed toat least one of a plurality of predefined areas related to thetelevision set. The television set further includes a user interactioninterface configured to generate data indicative of the gesture inputdirected toward the at least one of the predefined areas and control thetelevision based at least in part on the generated data.

In a second aspect, a method of providing user control of a media deviceis provided. The method includes receiving a gesture input directedtoward at least one of a plurality of predefined areas related to thedevice and generating data indicative of the gesture, wherein the dataindicative of the gesture comprises a gesture identifier. The mediadevice is controlled based at least in part on the generated data.

In yet another aspect, a media device having machine-executableinstructions stored thereon, which when executed by a processor, performa method of providing user control of the media device is provided. Themethod includes receiving a gesture input directed to at least one of aplurality of predefined areas related to the device and generating dataindicative of a gesture directed toward the at least one of thepredefined areas. The media device is controlled based at least in parton the generated data.

BRIEF DESCRIPTION OF THE DRAWINGS

In this description, reference is made to the drawings wherein likeparts are designated with like numerals throughout.

FIG. 1 is an example of an environment suitable for practicing variousembodiments described herein.

FIG. 2 is a block diagram of a television configured to receive gesturesfrom a user in accordance with one or more embodiments.

FIGS. 3A and 3B are examples of televisions equipped withgesture-capture devices in accordance with one or more embodiments.

FIG. 4 is an example of a button user interface that may be used by anapplication to receive user input into the media device.

FIG. 5 is an example of push gestures which may be used to input datavia the button user interface shown in FIG. 4.

FIG. 6 is an example of a digit user interface mapping which may becontrolled by the push gestures shown in FIG. 5.

FIG. 7 is an example of move gestures which may be used to inputinformation into a drag user interface.

FIG. 8 is a more detailed view of the system components forming theinterface between the gesture-capture device and the television.

FIG. 9 is a flowchart of a gesture capture process performed by a mediadevice in accordance with one or more embodiments.

FIG. 10 is a flowchart of a gesture analysis process in accordance withone or more embodiments.

FIG. 11 is an example of how visual feedback may appear on a television.

DETAILED DESCRIPTION OF CERTAIN INVENTIVE EMBODIMENTS

Various embodiments disclosed herein allow users to control mediadisplay devices using hand gestures. In many of the embodimentsdescribed below, the media display device takes the form of atelevision. The television screen may be divided into four regions(e.g., quadrants) which allow users to apply multiple distinctive handgestures in order to interact with the television. The different handgestures are generally divided into two different gesture categories: a“push” and a “move.” The push gesture is generated by a user directing apush toward one or two of the four regions of the television screen. Themove gesture is generated by a user pushing one region and then movingtheir hand(s) to other regions. When the gestures are detected by thetelevision they cause the television to perform a predefined action. Inaddition, the television may be configured to provide feedback to theuser. The feedback may take the form of, for example, graphics on thetelevision screen and/or LED lights on the exterior of the televisionwhich confirm inputs and guide additional user interaction. Although theexamples described herein generally are provided in the context oftelevision control, a skilled technologist will appreciate that othertypes of media display devices such as computer displays, digital videoplayers, and other types of display devices may also be controlledutilizing the systems and methods described herein.

FIG. 1 is one example of an environment 100 suitable for providinghuman-television interaction using the gesture-based techniquesdescribed herein. The interaction environment 100 typically includes atelevision 102 and a user 104. The television 102 and the user 104 maybe relatively positioned in such a way as to provide a substantiallyunobstructed path 108 between at least some portion of the television102 and the hands 106 of the user 104. As will be discussed in moredetail in connection with FIGS. 2 and 3, the television 102 typicallyhas a substantially unobstructed path to the hands 106 of the user 104so that gesture capturing devices on the television are able to capturethe movements of the hands 106.

FIG. 2 is a more detailed block diagram showing various components ofthe television 102. It should be appreciated that the block diagram isnot intended to show all components of the television 102, but insteadprovides details about certain components which are typically used topractice various embodiments. The television 102 includes a display 202.The display may be a conventional CRT display, a LCD display, a plasmadisplay, or some other type of television display. The display 202 maybe divided into four different regions: upper right (UR), upper left(UL), lower right (LR) and lower left (LL). The television also includesa gesture capture device 204. The gesture capture device 204 may takevarious forms. In some embodiments, the gesture capture device 204 maybe a video camera which captures the movements of the hands 106 of theuser 104. Alternatively, the gesture capture device 204 may take theform of one or more motion sensors which detect movement of the hands106.

The television 102 may also include a processor 206. The processor 206may be any of various types of processors. The processor 206 may be acentral processing unit (CPU). Other types of processors 206 may also beused. The television 102 may further include a controller 208. Thecontroller 208 generally receives data from the processor 206 or someother internal device components. The controller 208 may be configuredto reformat the received data into a format suitable for scanning acrossthe display 202. In some embodiments, the controller 208 may beassociated with the processor 206 as a stand-alone Integrated Circuit(IC). However, the controller 208 may be implemented in various ways.For example, the controller may be embedded in the processor 206 ashardware, embedded in the processor 206 as software, or fully integratedin hardware with the display 202 itself.

Also included in the display device is a memory 210. The memory 210 mayalso take various forms. In one embodiment, the memory 210 may bededicated onboard memory that is included with one or both of theprocessor 206 and the controller 208. Alternatively, the memory 210 maybe general purpose memory that is shared with other hardware andsoftware included in the device. The memory 210 may be some form ofrandom access memory (RAM) such as DRAM, SRAM, VRAM, SDRAM or the like,or it may some other form of memory such as flash memory, for example,which may be used to store data.

Although the illustrative television 102 has been described withreference to a particular configuration in FIG. 2, a skilledtechnologist will readily appreciate that the television 102 may takemany forms and configurations. Moreover, the television 102 may includevarious other system components not described herein which provide otherfeatures generally applicable to the television 102.

FIG. 3A is an example of a television 102 with a camera-based gesturecapture device. As shown in the figure, television 102 includes a camera302 which is positioned in such a way that it faces the same generaldirection as the display 202. The camera 302 need not be a particularlysophisticated camera device, and may have resolution capabilitiesroughly similar to a “webcam” as is well-known in the computer field. Ofcourse, more sophisticated and technologically advanced cameras may alsobe used. The camera 302 typically has an operating range in whichgestures may be captured from the hands 106 of the user 104. In someembodiments, the camera may be configured to detect and process gesturesdirected at specific locations relative to the television 102. In onespecific example, the camera 302 may be configured to detect gesturesdirected toward one or more predefined quadrants areas of the televisiondisplay 202.

FIG. 3B is an example of a television 102 which utilizes sensors 304 asits gesture capture device 204. The sensors 304 may be motion detectionsensors positioned on the exterior of the television 102. In someembodiments, the sensors 304 are positioned near each of the fourcorners of the television display 202 to receive gestures directed tothat specific area on the television display 202. For example, thesensor 304(a) may detect and receive hand gestures from the user 104directed to the upper left corner (from the standpoint of the user 106)of the television device, while sensor 304(b) may detect and receivehand gestures from hands 106 of the user 104 that are directed to theupper right corner of the display 202. Similarly, the sensors 304(c) and304(d) may receive input from the hands 106 of the user 104 which aredirected to the lower left and lower right portions of the display 202,respectively. Although specific exemplary gesture capturingconfigurations has been shown in FIGS. 3A and 3B, a skilled technologistwill appreciate that other types of configurations may be used toreceive and process gestures input by the user 106. For example, thetelevision 102 may include both a camera 302 and sensors 304, or it mayinclude some other type of gesture capture device 204.

FIG. 4 is an example of a button user interface 400 which may bedisplayed on the display 202 of the television 102 to allow the user 104to control its operation. The button user interface 400 typicallydivides the display 202 into four “virtual” buttons: upper left button402(a), upper right button 402(b), lower left button 402(c), and lowerright button 402(d). Each of the buttons 402(a)-402(d) may be pushed bythe user 104 via gestures input received from their hands 106 andcaptured by the gesture capture device 104. In embodiments in whichgesture sensors 304(a)-304(d) are used, inputs detected by and/orreceived into gesture sensors 304(a)-304(d) may correspond to buttons402(a)-402(d) of the button user interface 400, respectively. Forexample, when the upper left gesture sensor 304(a) detects a handgesture from a user 104, this movement corresponds to an action on theupper left button 402(a) of the button user interface 400.

As noted above, the gesture capture devices 204 may be configured todetect and/or receive gestures from the hands 106 of users 104. As willbe discussed in further detail below, the gesture capture devices 204may be configured to detect different types of gestures or movements ofthe hands 106. In some embodiments, there may be two broad categories ofhand gestures—push gestures and move gestures. As used herein, a pushgesture is the gesture made by the user 106 when he “pushes” his hands106 toward the television, typically toward one or more of the fourquadrants 402(a)-402(d). A move gesture is a gesture made by the user104 when they move one or both of their hands 106 from one of thequadrants to another of the quadrants. More gestures will be discussedin further detail below in connection with FIG. 7.

Referring now to FIG. 5, an example of quadrant-based push gestures 500and their associated gesture identifiers 502 is provided. As shown inFIG. 5, there are a total of eleven different push gestures which may beinput by the user 104, and they are associated with gesture identifiervalues of 0 though 10. The push gestures are expressed as circlesrepresenting the state of each quadrant as being pushed or not pushed.For example, the push gesture 500 with the gesture identifier 502 havinga value of “0” includes all non-pushed quadrants, as indicated by noneof the circles having a darkened appearance. The push gesture 500associated with the gesture identifier 502 having a value of “1”includes the upper left quadrant as being pushed (indicated by thedarkened appearance of the circle). The remaining push gestures 500 andtheir associated gesture identifiers 502 may be similarly understood.

As noted above in connection with FIG. 4, one embodiment provides abutton user interface 402 which divides the display 202 into fourquadrants 402(a)-402(d). This button user interface 402 may becontrolled using some or all of the push gestures shown in FIG. 5. Forexample, the upper left button 402(a) of the button interface 400 may beaccessed using the push gesture 500 with the gesture identifiers 502having a value of “1”. This push gesture corresponds to a push of theupper left quadrant as captured by the gesture capture device 204.Similarly, the other buttons 402(b)-402(d) of the button user interfacemay be accessed by input of push gestures with identifiers 502 havingvalues of “2” through “4” respectively.

It will be apparent to the skilled technologist that these eleven pushgestures include each possible permutation of simultaneous pushes thatmay be input utilizing the two hands 106 of the user 104. As a result,although there could conceivably be sixteen different combinations ofquadrant-based gestures, because a user 104 only has two hands 106, onlytwo of the quadrants may receive a push at any given time. Accordingly,none of the push gestures shown in FIG. 5 include more than two pushedquadrants, and only eleven gestures are defined.

FIG. 6 is an example of a digit user interface 600 which may becontrolled by the push gestures shown in FIG. 5. The digit userinterface 600 may be presented on the display 202 in such a way as toallow the user 104 to enter numerical digit values into the television102 using the push gestures. In the exemplary digit user interface 600provided in FIG. 6, the available digits are presented to the user as avirtual keypad which may be accessed using the push gestures. Thevirtual keypad includes buttons for the digits 0-9 as shown. The pushgestures associated with gesture identifiers 502 having values of “1”through “10” may be mapped to these virtual buttons so that the user 104may input digit values by providing the appropriate push gestures withinthe operating range of the gesture input device(s) 104. In thisparticular example, the push gesture associated with the gestureidentifier 502 having a value of “0” is not included in the digit userinterface 600 because it does not include any push gestures to be readby the system.

As discussed briefly above, move gestures may also be provided to allowusers 104 more granular control of the television 102 (or other mediadevice). FIG. 7 provides an illustration of quadrant-based move gestures700 which may be used to input information into a drag user interface. Adrag user interface is a user interface which provides buttons similarto the button user interface, but allows the user to “drag” items in theuser interface from one quadrant to another. As noted above, a movegesture refers to a gesture in which the user moves his hands from onequadrant (e.g., 402(a)) to another quadrant (e.g., 402(c)).

The quadrant-based gestures shown in FIG. 7 may be expressed as thegesture identifier 502 associated with the starting position of thehands 106 of the user 104, followed by the gesture identifier 502associated with the finishing position of the hands 106 of the user. Forexample, the move gesture labeled as “1-2” is a move gesture in whichthe hands 106 of the user 104 are initially positioned to provide thepush gesture associated with gesture identifier having a value of “1” bypushing the upper-left quadrant as indicated by the darkened circle 710shown in the figure. The move gesture is completed by the user 104moving the hand 106 to the push gesture associated with the gestureidentifier having a value of “2”, as indicated by the arrow pointing tothe darkened circle 712. As a result, the gesture identifier 702associated with this move gesture is “1-2” to indicate the movementinvolved. It should be appreciated that the specific naming conventionsfor gesture identifiers 702 are merely one possible implementation, andthat other naming conventions may be used to identify specific movegestures 700 within the system.

Some move gestures may involve movement of both of the hands 106 of theuser 104. For example the move gesture having a gesture identifier 702of “5-9” involve movement of both hands 106 of the user 104. Thisparticular move gesture starts with a push gesture associated with thegesture identifier having a value of “5”, in which both the upper left716 and upper right 718 quadrants are pushed by the user. The user thenmoves both hands to the “9” position, in which both of the lower left720 and lower right 722 quadrants are pushed by the user 104. Thus, asis apparent from FIG. 7, a large number of different move gestures arepossible, which provides considerable more control and options to theuser than the limited number of gestures provided by simply pushingquadrants.

The move gestures and push gestures described above may be processed bythe television (or other media display device) to provide remote controlof the device 102 to the user 106. FIG. 8 is a more detailed view ofsystem components forming a user interaction interface 800 between thegesture-capture device 110 which receives the inputted gestures from theuser 104 and the television 102. The components provided in theinterface 800 may be software modules stored in memory 210, or they maybe hardware-based solutions, or some combination of hardware andsoftware.

The interface 800 may include a gesture capture module 802. The gesturecapture module 802 receives raw data from the gesture capture device 110and converts the data into bit sequences which are described in detailbelow. In some embodiments, the gesture capture module 802 takes theform of computer executable instructions stored in the memory 210 whichare executed by the processor 206. The interface 800 may further includea gesture data queue 804. The gesture data queue 804 typically takes theform of a memory (such as memory 210, for example) which stores the bitsequences generated by the gesture capture module 802. The gesture dataqueue 804 holds the bit sequences and passes them to the gestureanalysis module 806. Typically, the data queue is a first-in-first-out(FIFO) data queue which passes the bit sequences to the gesture analysismodule in the order in which they are received from the gesture capturemodule 802. The gesture analysis module 806 generally receives the bitsequences from the data queue 804 and analyzes the bit sequences todetermine which gestures have been input by the user 104. The interface800 also may include a feedback module 808 which is configured togenerate feedback to the user. In some embodiments, the feedback isgenerated on the display 202 of the television 102. The interface 800may further include a macro execution module 810 which executes commandswhich control the operation of the television 102.

As discussed in connection with FIGS. 3A and 3B, the gesture capturedevice 204 may take various forms, including a camera-basedimplementation and a sensor-based implementation. FIGS. 9A and 9B areflowcharts of exemplary gesture capture processes that may be performedby the gesture capture module 802 of FIG. 8. The flowchart in FIG. 9Aprovides an example of gesture capture using a camera-basedimplementation such as that described in FIG. 3A. The process begins atblock 902, where the gesture capture module 802 receives raw data fromthe camera 302 (typically mounted somewhere on the television). Theprocess then moves to block 904, where the gesture capture module 802determines the coordinates of the hands 106 of the user 104. Forexample, the gesture capture module 802 may be configured to detect theshape of hands in the raw image data, and then determine the quadrant402 in which the hands are located.

The process then moves to block 906, where the determined coordinatesare converted into data items. In some embodiments, the data item may bea 4-bit data item which may be represented as a quadruple (x1, x2, x3,x4). Each bit x1, x2, x3, and/or x4 may be set as either 0 or 1, and istypically associated with one of the quadrants 402. When the bit is setto a value of 1, it means that the quadrant associated with the bit hasbeen pushed by the hand 106 of the user 104. When the bit is set to avalue of 0, it means that the quadrant is not pushed. Once raw imagedata from the camera 302 has been converted to a data item, the dataitem is then sent to the gesture data queue 804 at block 908 for storagetherein.

FIG. 9B is a flowchart of a gesture capture process which uses sensors304 to detect hand gestures from a user 106. The process begins at block910 where the gesture capture module 802 receives data from the sensors304. As discussed above in connection with FIG. 3B, the sensors 304 mayinclude four sensors placed at or near the four corners of the display202 of the television 102. The sensors generate signals which allow thegesture capture module to determine which corners have been pushed bythe user 106. Next, the process moves to block 912, where the gesturecapture module 802 is configured to determine the corner sensor states.The corner sensor states may be converted into data items in a mannersimilar to that described above in connection with block 906 of FIG. 9.As with the camera-based implementation, the data item may be a four bitdata item. Once the data item has been generated, it may be sent to thegesture data queue 804 to be stored.

Typically, the processes described in FIGS. 9A and 9B are repeated at ahigh rate of speed (e.g., 10 times per second) so that the gesturecapture module sends a substantially continuous sequence of 4-bitquadruples to the data queue 804. This quadruple is stored in the dataqueue 804 until it the gesture analysis module 806 dequeues eachquadruple for analysis. As discussed above, the user interface of thetelevision 102 may operate in various user interface modes to providedifferent types of functionality to the user 104. These modes include abutton interface mode in which the display 202 of the television 102 isdivided into four virtual buttons (associated with each of the fourquadrants 402(a)-402(d) of the display 202) that may be accessed by theuser through push gestures 500 with gesture identifiers 502 havingvalues of “1” through “4” as shown in FIG. 5. The user interface mayalso operate in a digit mode, in which the television display provides avirtual keypad that allows users to enter digit values using pushgestures 500. The television user interface may further operate in adrag user interface mode which allows the user access to a more complexset of commands utilizing the move gestures described above inconnection with FIG. 7.

In some embodiments, the gesture identifiers may be associated withmacro commands. The macro commands may be programmed into the televisionto cause the television to perform specific functions when the commandsare called—much in the same way as conventional remote control devices.In some embodiments, each of the user interfaces provided by the gesturecontrol system may utilize a lookup table to associate the gestureidentifiers with specific macros defined to control various aspects ofthe television's functionality. Examples of lookup tables for each ofthe user interface modes are provided below:

TABLE 1 DIGIT USER INTERFACE PUSH GESTURE ID MACRO ID 0 −1 1 1 2 2 3 3 44 5 5 6 6 7 7 8 8 9 9 10 0

TABLE 2 BUTTON USER INTERFACE PUSH GESTURE ID MACRO ID 0 −1 1 10 2 11 312 4 13 5 14 6 15 7 16 8 17 9 18 10 19

TABLE 3 DRAG USER INTERFACE MOVE GESTURE ID MACRO ID 1-2 20 1-3 21 1-422 2-1 23 2-3 24 2-4 25 3-1 26 3-2 27 3-4 28 4-1 29 4-2 30 4-3 31 5-9 328-7 33 6-8 34 5-8 35  5-10 36 8-6 37 5-6 38 5-7 39 8-5 40 6-5 41 6-7 429-6 43 7-5 44 7-6 45  6-10 46 9-5 47  7-10 48 7-9 49 6-9 50 10-7  5110-9  52 8-9 53 9-7 54  9-10 55  8-10 56 10-5  57 9-8 58 10-9  59 7-8 6010-6  61

Referring now to FIG. 10, a flowchart of an exemplary gesture analysisprocess performed by the gesture analysis module 806 is provided. Thegesture analysis module 806 begins the gesture analysis process at block1000, where it determines the current user interface mode 1000.Determination of the current user interface mode allows the gestureanalysis module to properly dequeue data from the data queue 808 asshown below. After determining the user interface mode, the processmoves to decision block 1002, where it is determined if the userinterface mode is in the button user interface mode. If the userinterface mode is not the button mode, the process moves to decisionblock 1008 where gesture analysis module 806 determines whether the userinterface is operating in the digit mode. If not, the process moves todecision block 1014, where the gesture analysis module 806 determines ifthe user interface is operating in drag mode. If not, the processreturns to block 1000 and begins anew.

If, however, at decision block 1002, the user interface is in the buttonmode, the process moves to block 1004, where the next gesture identifierstored in the data queue 808 is retrieved from the data queue. At block1006, the button user interface lookup table (such as, for example,Table 1 above) is accessed to determine which macro identifier to callwithin the television 102. After retrieving the macro identifier, theprocess moves to blocks 1020 and 1022, respectively. At block 1020, themacro identifier is passed to the feedback module 808. Similarly, atblock 1022, the macro identifier is passed to the macro execution module1022 in the television 102.

Referring back to decision block 1008, if the user interface is set tothe digit mode, the process moves to block 1010, where the next gestureidentifier is retrieved from the data queue 804. Next, the process movesto block 1012, where the digit user interface lookup table (Table 2) isaccessed to lookup the macro identifier associated with the gestureidentifier input into the digit user interface. Once the correct macroidentifier has been determined, it is sent to the feedback module 808 atblock 1020 and to the macro execution module 810 at block 1022.

Referring back to decision block 1014, if the user interface is in thedrag mode, the process moves to block 1016. Because the drag modeutilizes move gestures (such as those described in connection with FIG.7 above), two different push gestures are included in each move gesture.As a result, the next two gesture identifiers are retrieved from thedata queue 804 to determine which move gesture identifier has been inputinto the television 102 by the user 104. Next, the move gestureidentifier is compared against the drag user interface lookup table(Table 3 above) to determine which macro to call. Next, the processagain moves to blocks 1020 and 1022 where the macro identifier is passedto the feedback module 808 and macro execution module 810, respectively.

As discussed previously, the feedback module 808 generates feedback tothe user 104 based on the inputted gestures. Based on each four bit dataitem generated by the gesture analysis module 806, the feedback moduledetermines the state of each of the four quadrants 402 and provides anindication to the user 106 of their current state. For those bits thatare set as 1, the corresponding quadrant is considered enabled.Conversely, those bits that are set as 0 are considered to be disabled.In some embodiments, eleven basic states may be represented by thefeedback module 808 according to the exemplary scheme shown in Table 4:

TABLE 4 TL = Top Left Quadrant; TR = Top Right Quadrant; BL = BottomLeft Quadrant; BR = Bottom Right Quadrant Basic 4 Bit Data Item StateNo. S (x1, x2, x3, x4) Feedback State 1 (0, 0, 0, 0) None enabled (ResetState) 2 (1, 0, 0, 0) TL Enabled 3 (0, 1, 0, 0) TR Enabled 4 (0, 0, 1,0) BL Enabled 5 (0, 0, 0, 1) BR Enabled 6 (1, 1, 0, 0) TL and TR Enabled7 (1, 0, 1, 0) TL and BL Enabled 8 (1, 0, 0, 1) TL and BR Enabled 9 (0,1, 1, 0) TR and BL Enabled 10 (0, 1, 0, 1) TR and BR Enabled 11 (0, 0,1, 1) BL and BR Enabled

As briefly noted above, the television 102 may include additionaldevices to provide feedback to the user. The feedback allows the user toconfirm that the system is reading the gestures they have input asintended. In one embodiment, the television 102 may include visualfeedback devices on each corner of the display 202 which provide detailsto the user 106 about the current state of the television control.Typically, these feedback devices are small indicator lights such aslight-emitting diodes (LEDs) which are configured to flash one or morecolors based on the state of the corner of the display 202 (and itsassociated quadrant 402) at which they are located. In one embodiment,the LEDs may be configured to provide information about three differentstates: enabled, disabled, and hint. The LEDs may use three differentcolors to represent each of the three states. For example, red mayindicate that the state of the quadrant 402 is enabled, while a dark mayindicate that the quadrant 402 is disabled. Hints may be provided to theuser, indicated by green, which tell the user that the quadrantassociated with the hint is an available option for the next pushgesture. The state information may be provided without the use of lightindicators on the exterior of the screen, and instead may be providedvia color information (such as background shading, for example) providedwithin the display 202 of the television 102. The indicators providedwithin the display may take the form of colored icons (or some othervisual indicator as well.

FIG. 11 provides an example of how the visual feedback may appear on thetelevision 102 according to one embodiment. In the example provided inFIG. 11, the user 106 has pushed the bottom left quadrant 402(c) and thebottom right quadrant 402(d). Thus, the top left and top right quadrants402(a) and 402(b) are disabled, while the bottom left and bottom rightquadrants 402(c) and 402(d), respectively, are enabled. Red LEDs 1102(c)and 1102(d) positioned near the bottom left quadrant and bottom rightquadrants are illuminated. The LEDs 1102(a) and 1102(b) positioned nextto top left quadrant 402(a) and top right quadrant 402(b) are notilluminated (e.g. dark).

It will be understood by those of skill in the art that numerous andvarious modifications can be made without departing from the spirit ofthe present invention. Therefore, it should be clearly understood thatthe forms of the invention are illustrative only and are not intended tolimit the scope of the invention. While the above detailed descriptionhas shown, described, and pointed out novel features of the invention asapplied to various embodiments, it will be understood that variousomissions, substitutions, and changes in the form and details of thedevice or process illustrated may be made by those skilled in the artwithout departing from the spirit of the invention.

1. A method of providing user control of a media device, the methodcomprising: receiving a gesture input directed toward at least one of aplurality of predefined areas related to the device; generating dataindicative of the gesture, wherein the data indicative of the gesturecomprises a gesture identifier; and controlling the media device basedat least in part on the generated data.
 2. The method of claim 1,wherein the predefined areas comprise quadrants of a display on thedevice.
 3. The method of claim 2, wherein the gesture input is a pushgesture input received from hands of a user of the device.
 4. The methodof claim 1, wherein the gesture input is received via at least one of acamera on the device or motion sensors on the device.
 5. The method ofclaim 4, wherein the motion sensors are positioned to detect motiondirected at the quadrants of the display.
 6. The method of claim 1,further comprising determining a macro identifier associated with thegesture identifier.
 7. The method of claim 6, wherein controlling themedia device comprises executing a macro based on the macro identifier.8. The method of claim 1, wherein the plurality of predefined areascomprises four predefined areas.
 9. The method of claim 8, wherein dataindicative of the gesture comprises a four bit data item, wherein eachbit is associated with one of the predefined areas.
 10. The method ofclaim 9, further comprising receiving a plurality of gesture inputs andgenerating a plurality of four bit data items based on the plurality ofgesture inputs.
 11. The method of claim 10, further comprising: storingthe plurality of four bit data items in a data queue; determining a userinterface mode for the media device; and retrieving two of the four bitdata items from the data queue when the user interface mode is a draguser interface mode; combining the two retrieved four bit data itemsinto a move gesture identifier; and determining a macro identifier basedon the move gesture identifier.
 12. The method of claim 10, furthercomprising: determining a user interface mode for the media device; andretrieving one of the four bit data items from the data queue when theuser interface mode is in one of a digit or button user interface mode;and determining a macro identifier based on retrieved four bitidentifier.
 13. A media device having machine-executable instructionsstored thereon, which when executed by a processor, perform a method ofproviding user control of the media device, the method comprising:receiving a gesture input directed to at least one of a plurality ofpredefined areas related to the device; generating data indicative of agesture directed toward the at least one of the predefined areas; andcontrolling the media device based at least in part on the generateddata.
 14. The media device of claim 13, wherein the media device is atelevision.
 15. The media device of claim 13, wherein the predefinedareas comprise quadrants of a display on the device.
 16. The mediadevice of claim 15, wherein the gesture input is a push gesture inputreceived from hands of a user of the device.
 17. The media device ofclaim 16, wherein the generated data comprises a gesture identifierassociated with the push gesture input from the hands of the user of thedevice.
 18. The media device of claim 13, wherein the gesture input isreceived via at least one of a camera on the device or motion sensors onthe device.
 19. The media device of claim 18, wherein the motion sensorsare positioned to detect motion directed at the quadrants of thedisplay.
 20. The media device of claim 13, further comprisingdetermining a macro identifier associated with the gesture identifier.21. The media device of claim 20, wherein controlling the media devicecomprises executing a macro based on the macro identifier.
 22. The mediadevice of claim 13, wherein the plurality of predefined areas comprisesfour predefined areas.
 23. The media device of claim 22, wherein dataindicative of the gesture comprises a four bit data item, wherein eachbit is associated with one of the predefined areas.
 24. The media deviceof claim 23, further comprising receiving a plurality of gesture inputsand generating a plurality of four bit data items based on the pluralityof gesture inputs.
 25. The media device of claim 24, further comprising:storing the plurality of four bit data item in a data queue; determininga user interface mode for the media device; and retrieving two of thefour bit data items from the data queue when the user interface mode isa drag user interface mode; combining the two retrieved four bit dataitems into a move gesture identifier; and determining a macro identifierbased on the move gesture identifier.
 26. The media device of claim 24,further comprising: determining a user interface mode for the mediadevice; and retrieving one of the four bit data items from the dataqueue when the user interface mode is in one of a digit or button userinterface mode; and determining a macro identifier based on retrievedfour bit identifier.
 27. A television set comprising: a gesture capturedevice configured to receive a gesture input directed to at least one ofa plurality of predefined areas related to the television set; and auser interaction interface configured to: generate data indicative ofthe gesture input directed toward the at least one of the predefinedareas; and control the television based at least in part on thegenerated data.
 28. The television set of claim 27, wherein the gesturecapture device comprises at least one of a motion sensor or a cameradevice.
 29. The television set of claim 28, wherein the predefined areascomprise quadrants of a display on the television.
 30. The televisionset of claim 29, wherein data indicative of the gesture input comprisesa four bit data item, wherein each bit is associated with one of thepredefined areas.